<?php

namespace zyj\weather;

use yii\base\Object;

/**
 * 天气拓展基类
 * User: BF
 * Date: 2018/12/27
 * Time: 9:02
 */
abstract class Weather extends Object
{
    /**
     *  请求地址
     *
     * 	@var string
     */

    public $url;

    /**
     * 需要查询的城市或地区
     * 可以输入值：城市ID / 经纬度（经度、纬度）/ 城市名称 /城市名称，上级城市 或 省 或 国家，英文,分隔 / IP
     * 参数值存在中文或特殊字符的情况，需要对参数进行 url encode。
     */
    public $location;

    /**
     *用户认证key
     */
    public $key;

    /**
     * 用户ID
     */
    public $username;

    /**
     * 时间戳
     */
    public $t;

    /**
     * 数字签名
     */
    public $sign;

    /**
     *  curl get 请求
     *
     *	@param array  $data
     *	@retrun result
     */
    protected  function getRequire()
    {

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $this->url);
        curl_setopt($ch, CURLOPT_TIMEOUT,3); //设置超时时长(秒)
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,10);//设置链接时长
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch, CURLOPT_HEADER, 0);

        $data = curl_exec($ch);
        //设置头信息
//        $headers=array( "Accept: application/json", "Content-Type: application/json;charset=utf-8" );
//        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//
//        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//        $data = curl_exec($ch);
        curl_close($ch);
        return $data;
    }
    /**
     * 	设置密码
     *
     * 	@var string $password
     */
    protected function setKey($key)
    {

        $this->key = $key;
    }

    /**
     * 	获取状态
     *
     * 	@return status
     */
    protected function getStatus()
    {
        return $this->status;
    }

    /**
     * 	设置apikey
     *
     * 	@return state
     */
    protected function setUsername($username)
    {
        $this->username = $username;
    }
}